草庐IT

c++ - OpenCL 速度和浮点精度

全部标签

c - Ruby C 扩展 API 问题

所以,最近我不幸地需要为Ruby做一个C扩展(因为性能)。因为我在理解上有问题VALUE(并且仍然如此),所以我查看了Ruby源代码并发现:typedefunsignedlongVALUE;(LinktoSource,但您会注意到它还有其他一些“方法”,但我认为它本质上是一个long;如果我错了,请纠正我)。因此,在进一步调查时,我发现了一个有趣的blogpost,其中说:"...insomecasestheVALUEobjectcouldBEthedatainsteadofPOINTINGTOthedata."令我困惑的是,当我尝试从Ruby将字符串传递给C并使用RSTRING_PT

c - 在 C 中扩展 ruby​​ - 如何指定函数的默认参数值?

我正在尝试为将生成一个类的ruby​​编写C扩展。我正在研究如何为类定义一些默认参数。例如,如果我在ruby​​中有这个类decleration:classMyClassdefinitialize(name,age=10)@name=name@age=ageendend您可以使用mc=MyClass.new("blah")初始化它,年龄参数将在内部设置。我如何在C中执行此操作?到目前为止我得到了这个,但这迫使进入另一个论点:require"ruby.h"staticVALUEmy_init(VALUEself,VALUEname,VALUEage){rb_iv_set(self,"@n

c - 如何在 Mac OS X 上使用 ulimit 或每个进程为 C 或 Ruby 程序更改堆栈大小?

似乎为C程序或Ruby程序(使用C堆栈)设置堆栈大小的推荐方法是使用ulimit。在Bash外壳中。但是$ulimit-s8192$ulimit-s16384-bash:ulimit:stacksize:cannotmodifylimit:Operationnotpermitted和sudo也没有帮助。有没有办法将其设置为16MB、32MB或64MB?我认为应该有一种方法可以在每次程序调用时设置它,而不是同时设置系统范围的参数?现在8192可能意味着8MB,如果与一个进程可以使用的内存量相比,这是非常小的,有时最多2GB的RAM。(更新注释:ulimit-a可以显示其当前值)。(更新2

Ruby - 将字符串转换为浮点返回 0.0

在一个变量中存储了这个值:$10.00我需要得到这个10.00我已尝试将此值转换为float:new_price='%.2f'%(price.to_f)但我只得到0.0。这有什么问题?我也试过了price=price.stripprice[0]=""new_price='%.2f'%(price.to_f)但即使这样也没有帮助我......哪里有问题?谢谢 最佳答案 您需要先删除$。整个事情是这样的:'%.2f'%'$10.00'.delete("$").to_f或'%.2f'%'$10.00'[1..-1].to_f如果你喜欢密度

Ruby Array concat 与 + 速度?

我对Ruby的数组concat()与+操作进行了小型性能测试,concat()速度太快了。但是我不清楚为什么concat()这么快?有人可以帮忙吗?这是我使用的代码:t=Time.nowar=[]foriin1..10000ar=ar+[4,5]endputs"Timefor+"+(Time.now-t).to_st=Time.nowar=[]foriin1..10000ar.concat([4,5])endputs"Timeforconcat"+(Time.now-t).to_s 最佳答案 根据Rubydocs,不同之处在于:数组

ruby - Ruby 矩阵计算中的浮点错误

我正在编写一些涉及查找给定矩阵的特征向量的代码,令我惊讶的是Ruby在简单情况下会产生一些不合理的结果。例如,以下矩阵具有与特征值1关联的特征向量:>m=Matrix[[0r,1/2r,1/2r,1/3r],[0r,0r,1/4r,1/3r],[0r,1/4r,0r,1/3r],[1r,1/4r,1/4r,0r]]Ruby很好地找到了特征值,但是特征向量爆炸了:>m.eigen.eigenvalues[2]=>1.0000000000000009m.eigen.eigenvectors[2]=>Vector[5.957702309312754e+15,5.957702309312748

ruby-on-rails - 如何使 Rails 3 Assets 的预编译速度更快?

我有一个正在运行的Rails3.2.1应用程序,我正在通过Capistrano使用deploy/assets进行部署,它运行deploy:assets:precompile任务。一切正常,除了编译本身真的很慢。我没有那么多CSS和JavaScript(总共大约8200行)。编译Assets一般需要1-3分钟左右,占整个部署时间的90%左右。有什么办法可以优化吗?也许使用不同的程序来编译Assets或以某种方式优化它?我在Linode5121.9.2-p290、Rails3.2.1上运行该应用程序,如果有任何相关性,我会使用therubyracergem。 最

ruby-on-rails - 确定字符串是否为有效的浮点值

有没有一种方法可以简单地检查字符串值是否是有效的浮点值。如果字符串不是数值,则对字符串调用to_f会将其转换为0.0。使用Float()会在传递一个更接近我想要的无效浮点字符串时引发异常,但我不想处理捕获异常。我真正想要的是像nan这样的方法?它确实存在于Float类中,但这无济于事,因为如果不将非数字字符串更改为0.0(使用to_f),则无法将其转换为float。"a".to_f=>0.0"a".to_f.nan?=>falseFloat("a")=>ArgumentError:invalidvalueforFloat():"a"对此是否有简单的解决方案,或者我是否需要编写代码来检查

ruby - 设置Ruby中 float 的显示精度

在Ruby中可以设置float的显示精度吗?类似于:z=1/3z.to_s#=>0.33333333333333z.to_s(3)#=>0.333z.to_s(5)#=>0.33333或者我是否必须覆盖Float的to_s方法? 最佳答案 z.round(2)或x.round(3)是最简单的解决方案。参见http://www.ruby-doc.org/core-1.9.3/Float.html#method-i-round.也就是说,这只会确保它不超过那么多位数。在1/3的情况下没问题,但如果你说0.25.round(3)你会得到0

javascript - 在数组中缓存 jQuery 对象会提高速度吗?

今天我正在使用jQuery制作共享图标效果。效果有点复杂所以想办法优化性能。我最终将$(this)对象缓存到数组中。效果演示我上传了一个使用数组缓存对象的效果示例(将鼠标悬停在图标上以查看效果):http://mahersalam.co.cc/addthis/HTML:أضفللمفضلةشاركفيفيسبوكشاركفيتويترأرسلالصفحةبالإيميلالمزيدمنالخدماتJavascript://ReturnjQuery-objofthesharelinksvarshareLinks=$('#share-widget').find('a').css('opa